home *** CD-ROM | disk | FTP | other *** search
- Recent additions: (gcc v1.35 release and later)
-
- PLEASE carefully read the file `Changelog' for details
-
- Here is a very incomplete list of changes, see `Changelog' for details.
-
- - BSD curses library port added
- - curses widget lib added.
- - new functions vfork, wait.
- - system() now does i/o re-direction
- - new functions stty, gtty
- - new function tzset
- - new function console_set_key and new include file
- keymap.h (see Changelog).
- -filename mapping now more flexible. a new function
- that allows user settable filename mapping. (see Changelog)
- - malloc chunk size now user settable. (see Changelog)
- - stat, access, bcopy, qsort completely replaced.
- - scanf overhauled for floats. it was broken.
- - all pml tests pass now
- - HUGE defined properly in atof and math.h (aka pmluser.h)
- - added extern size_t __DEFAULT_BUFSIZ__
- it is by default set to BUFSIZ but at any point you can assign to
- it, and from then onwards all fopen's will use that size for
- buffering. NOTE: makeing __DEFAULT_BUFSIZ__ == 0 will result
- in unpredictable behavior. If you want unbuffered streams use
- other means (like setbuf etc).
- - added _malloczero(int truth)
- by calling _malloczero(1) all subsequent malloc's will zero
- fill memory before returning (very useful with the toglclr util and
- tos 1.4 or later).
- - many of the lXXX functions are now just globl labels at the head of
- appro. functions (when applicable). Note: this may have to
- change is the behaviour of asm() changes.
- - added berzerkly'ish sys/dir.h
- - lseek now supports BSD file extension semantics
- - line buffered (output) streams now work correctly
- - bug in dflonum.c corrected
- - bug fixes in osbind.h
- - lots of code cleanup.
- - some stuff dynamisized.
- - atexit fixed
- - printf now handles `#' flag
- - setjmp fixed. it did'nt work at all.
- - stat fixed for . and .. (Tos 1.4 still seems to have this bug)
-
- -following files from the first distribution of this lib (with gcc
- V1.35) moved to sub-dir `notused/'
- bcopy.c
- index.c
- lbcmp.c
- lbcopy.c
- lbzero.c
- qsort.c
- remove.c
- rindex.c
- fpprint.c
- sldexp.c
- printf.c
- prtfld.c
- sldexp.c
-
- - setlinebuf added
- - atof, ldexp, frexp, modf etc re-wroked
- - all formatted print routines re-worked
- - pml lib passes all tests now
- - lots of other bug fixes
-
- ----------------------------------------------------------------------------
-
- Here's a new library for the TOS version of the GCC. You need at least
- need GCC 1.31 to use it; if your version of the GCC is less than 1.33 you
- will need to tweak a few things.
-
- ACKNOWLEDGEMENTS:
-
- Eric Smith (7103_300%uwovax.uwo.ca@CORNELLC.CIT.CORNELL.EDU, please
- put attn `Eric Smith' as this is a shared mbox) put this library together and
- contributed a lot of code, and put a lot of effort in debugging it. The
- library in its current form is due to his efforts.
-
- The original TOS GCC library that came with GCC 1.25, much of which was
- written by or revamped by John R. Dunning (jrd@STONY-BROOK.SCRC.Symbolics.COM),
- provided many of the low level routines. Of course we are also very greatful
- to jrd for his origonal port of gnu.
-
- Most of the standard i/o library came from Dale Schumacher's dLibs version
- 1.2.
-
- The string handling stuff is from Henry Spencer.
-
- Last but not the least, i would like to thank all the users who have sent
- in comments / suggestions.
-
- Thanks one and all!
-
- We have re-organized/hacked the code of others above, and are responsible
- for the new bugs. please report them!
-
- ENHANCEMENTS:
-
- Ansi compatibility (i would estimate we are about 90% there).
-
- A lot of new functions.
-
- Prototypes for everything. I have personally become a believer in them after
- being a disbeliever. It does help catch some pretty subtle errors (even if
- you are using 32 bit ints).
-
- Some new functionality for old functions, including:
-
- New stream I/O functions; fgetc(), fputc(), etc. all do newline translation
- by default. Appending "b" to the mode argument of fopen() will disable this
- translation. printf() and scanf() accept more options. printf with e and g
- floating point formats is sort of working (this could stand repairs!!)
-
- For compatibility to the old TOS gcc library, calling the function
- _binmode(1);
- at the top of main() will make binary mode the default mode
- for stream i/o (std in/out/err will do the correct cr mapping as before),
- and the i/o functions will behave pretty much like before.
-
- There is an extern size_t __DEFAULT_BUFSIZ__ that is normally set to BUFSIZ,
- but you can override it at any point, and get default buffers of that size
- for buffered i/o (a cheap way to have large buffers, instead of
- putting setvbuf()'s all over the place, but its ansi non-compatible).
-
- The time functions all work with unix style times now, to make porting easier.
- localtime() etc now look up the env. variable `TZ' and calculate the local
- time correctly, taking into account DST etc.
-
- Functions which work with files accept unix-style path names (with '/' as
- a directory separator) as well as tos-style ones (with '\' between
- directories).
-
- Process spawn functions handle long args using MWC conventions. If and when
- the discussion on the net culminates, we can adapt. gulam users may want
- to set their `env_style mw'. New spawn functions present.
-
- Library setup for to generate both a 16 bit int library (-mshort compatible)
- or a 32 bit int library (See the files CMakefile.16, CMakefile.32 for the
- cross-compiler, and makefile.16, makefile.32 for the native ST compiler)
-
- Posix compatible directory access functions (thanks Doug Gwyn and Eric Smith).
-
- osbind.h is now more or less complete. it is setup to generate inline traps
- by default. This can be overridden by `-D__NO_INLINE__' at compile time
- (see files straps.cpp for the 16 bit defn, and traps.c for the 32 bit
- definitions of __NO_INLINE__ gemdos, xbios and bios traps).
- For use with GDB, MUST use __NO_INLINE__
-
- lineA.h is setup in a similar manner (i am not including it in this
- distribution as it is a little buggy, will let you have it in a few days
- once i have had a chance to clean it up a bit).
-
- Lots of brand new fuctionality. Docs are in the works.
-
- complete reorganization/revaming of #include <> files, please take a moment to
- become familiar with them. Most of the origonal TOS gcc .h files are
- there in the same place, so you should not have much trouble when compiling
- existing code.
-
- and lots more! please browse though the header files in ../t-include
-
- POSSIBLE GOTCHAS:
-
- USE PROTOTYPES TO STAY OUT OF TROUBLE !!!!!!!!!!!!!!!!!!!!!!!
- (new utility by eric smith `mkproto' provided for this purpose, so the
- traditional excuses are not applicable :-)
-
- Here is a new addition for the hackers dictionary
- UTFP -- Use The F***ing Prototypes -:) -:)
-
- Especially when using -mshort be aware that
- the TYPE of SIZE_T is UNSIGNED LONG
- the SIZEOF operator returns a result of the type UNSIGNED LONG
- NULL is not a 16 bit integer
- string functions DO NOT restrict you to int sized strings
-
- The above choices are both (almost) mandated (see the ansi draft) and
- deliberate. We were not about to restrict data structures to 64k max sizes
- when using -mshort (this would be criminal on the 68k architecture,
- also see the file obstacks.h for another very good reason)
-
- In short (pun intended) please look over and use prototypes and supplied
- header files!
-
- NOT HAPPY ABOUT:
- other than some algorithms that can and will be revamed, we are a
- little unhappy about the static data size of the library. we are working
- on cutting this down, and also on dynamicizing more fixed sized structures in
- the library. Some of the local arrays will also be probably converted to
- alloca's of dynamically determined appro. sizes.
-
- BUGS:
-
- No doubt lots of these. Especially look out for places labelled FIXME:
- these are known to be broken or substandard.
-
- Please send your comments/suggestions/contributions/bug reports
- to both/either/or
- enjoy,
- --
- Eric R. Smith jwahar r. bammi
- 7103_300@uwovax.uwo.ca bammi@dsrgsun.ces.cwru.edu
- 7103_300@uwovax.bitnet {decvax,sun}!cwjcc!dsrgsun!bammi
- (a shared mailbox: put his name on GEnie: J.Bammi
- the message, please!)
-
-